为什么用谷歌云
- 有首年300美元的优惠
- 各个子产品、服务都有相应的免费额度,比如Always Free Products

对于google app engine
来说,每天有28小时的实例时间+5GB的云存储。
除了engine,其他google云上几乎所有服务都有对应的免费额度,比如Google Cloud Vision API每个月1000个单位的API调用,Google Cloud Speech API 每个月60分钟的免费额度。
Google Cloud App Engine(GAE)
提到GAE大家肯定能联想到一个词,翻墙
对,就是那个免费的翻墙工具GoAgent。
第一个基于Go的App Engine
经过一系列步骤,我们得到第一个App Engine代码
通过查看hello.go的代码1
cat hello.go
1 | package hello |
这个应用只有一个处理函数,并且这个处理函数只单纯的返回一个hello world.
除此之外,还有一个文件app.yaml
,这个文件是用来描述hello world这个应用的配置文件
其内容如下1
2
3
4
5runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
这个配置文件告诉我们如下信息:
- 这个app的运行时环境是Go语言
- 使用的API的版本是go1
- handlers用来指示不同路径的请求应该导向那个函数
- script: _go_app这行是调试的时候使用的,在正式的线上环境中,这个参数会被忽略。
按照指示,分别运行命令,就可以在浏览器中看到刚才的应用了。
下一步就是下载sdk,初始化sdk,然后开始开发。
标准环境(Stardared)和宽松环境(flexiable)
Google app engine 提供两种类型的Go环境,标准环境(Stardared)和宽松环境(flexiable),具体两者有什么区别呢,简单来说:
- 宽松环境用的容器技术,所以和在本地机器上面运行程序没有任何区别,仅仅是把本地的服务云化了;
- 而标准环境则是经过特定平台改装的,有很多限制,比如不能访问文件系统,不能使用golang自带的http包发送网络请求,一旦发送会返回
permission denied
的错误;
更具体的限制可以参考文档 https://cloud.google.com/appengine/docs/the-appengine-environments
价格
下面是标准环境的规格和价格图


从上面两个图可以看到,一个1B内存+2.4GHz的实例需要每小时0.3美元。
下面是宽松环境的价格图

可以看到选择一个vCPU+1GB内存,每个小时需要0.0597美元,是标准环境的五分之一的价钱,而且还没有限制;
但是,但是,但是宽松环境无法享受每天28个实例小时的免单,每天1GB流量的免单;
所以当你的应用只需要一个实例就可以完成工作的时候,选择标准环境可以免费使用,一旦一个实例无法完成工作的时候选择宽松环境是经济的。